package util;

import org.apache.commons.dbcp2.BasicDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

//刚才自己写配置文件，自己读取，现在还是你写配置文件，但是要求着别人读，所以要按人家规范写。
public class jdbc_util_DBCP {

    //提高作用域
    private static DataSource dataSource=null;

    //使用静态代码块，当类被加载时，静态代码块也会被加载，而不需要新建对象
    static {
        try {

            InputStream inputStream = (jdbc_util_DBCP.class.getClassLoader().getResourceAsStream("DBCP_config.properties"));
            Properties properties = new Properties();
            properties.load(inputStream);

            //创建数据源     设计模式-->工厂模式-->[创建对象]
             dataSource = BasicDataSourceFactory.createDataSource(properties);



        } catch (Exception e) {
            e.printStackTrace();
            e.printStackTrace();
        }

    }

    //2、获取连接
    public static Connection get_connection() throws SQLException {
        return  dataSource.getConnection(); //从数据源获取连接


    }


    //3、释放资源

    public static void release(Connection connection, Statement statement, ResultSet resultSet) throws SQLException {

        if (resultSet != null) {
            resultSet.close();
        }

        statement.close();
        connection.close();


    }
}
